package com.newjiabo.ski.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.newjiabo.common.annotation.Excel;
import com.newjiabo.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 雪场信息对象 ski_snow_field_info
 *
 * @author ruoyi
 * @date 2023-09-18
 */
@ApiModel(value = "雪场信息对象")
public class SkiSnowField extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 雪场名称
     */
    @ApiModelProperty(value = "雪场名称")
    @Excel(name = "雪场名称")
    private String snowField;

    /**
     * 雪场状态
     *
     * @see com.newjiabo.ski.domain.enums.SnowStatusEnum
     */
    @ApiModelProperty(value = "雪场状态")
    @Excel(name = "雪场状态")
    private String snowStatus;

    /**
     * 雪场关闭时间
     */
    @ApiModelProperty(value = "雪场关闭时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "雪场关闭时间", width = 30, dateFormat = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date snowEndTime;

    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址")
    @Excel(name = "详细地址")
    private String snowAddressDetail;

    /**
     * 地址id
     */
    @ApiModelProperty(value = "地址id")
    @Excel(name = "地址id")
    private String snowAddressIdPath;

    /**
     * 地址名称
     */
    @ApiModelProperty(value = "地址名称")
    @Excel(name = "地址名称")
    private String snowAddressPath;

    /**
     * 经纬度
     */
    @ApiModelProperty(value = "经纬度")
    @Excel(name = "经纬度")
    private String snowCenter;

    /**
     * 雪场简介
     */
    @ApiModelProperty(value = "雪场简介")
    @Excel(name = "雪场简介")
    private String snowDesc;

    /**
     * 删除标志 true/false 删除/未删除
     */
    private Boolean delFlag;

    /**
     * 雪场开始时间
     */
    @ApiModelProperty(value = "雪场开始时间")
    @JsonFormat(pattern = "HH:mm:ss")
    @DateTimeFormat(pattern = "HH:mm:ss")
    @Excel(name = "雪场开始时间", width = 30, dateFormat = "HH:mm:ss")
    private Date snowStartTime;


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public void setSnowField(String snowField) {
        this.snowField = snowField;
    }

    public String getSnowField() {
        return snowField;
    }

    public void setSnowStatus(String snowStatus) {
        this.snowStatus = snowStatus;
    }

    public String getSnowStatus() {
        return snowStatus;
    }

    public void setSnowEndTime(Date snowEndTime) {
        this.snowEndTime = snowEndTime;
    }

    public Date getSnowEndTime() {
        return snowEndTime;
    }

    public void setSnowAddressDetail(String snowAddressDetail) {
        this.snowAddressDetail = snowAddressDetail;
    }

    public String getSnowAddressDetail() {
        return snowAddressDetail;
    }

    public void setSnowAddressIdPath(String snowAddressIdPath) {
        this.snowAddressIdPath = snowAddressIdPath;
    }

    public String getSnowAddressIdPath() {
        return snowAddressIdPath;
    }

    public void setSnowAddressPath(String snowAddressPath) {
        this.snowAddressPath = snowAddressPath;
    }

    public String getSnowAddressPath() {
        return snowAddressPath;
    }

    public void setSnowCenter(String snowCenter) {
        this.snowCenter = snowCenter;
    }

    public String getSnowCenter() {
        return snowCenter;
    }

    public void setSnowDesc(String snowDesc) {
        this.snowDesc = snowDesc;
    }

    public String getSnowDesc() {
        return snowDesc;
    }

    public Boolean getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Boolean delFlag) {
        this.delFlag = delFlag;
    }

    public void setSnowStartTime(Date snowStartTime) {
        this.snowStartTime = snowStartTime;
    }

    public Date getSnowStartTime() {
        return snowStartTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("snowField", getSnowField())
                .append("snowStatus", getSnowStatus())
                .append("snowEndTime", getSnowEndTime())
                .append("snowAddressDetail", getSnowAddressDetail())
                .append("snowAddressIdPath", getSnowAddressIdPath())
                .append("snowAddressPath", getSnowAddressPath())
                .append("snowCenter", getSnowCenter())
                .append("snowDesc", getSnowDesc())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("delFlag", getDelFlag())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("snowStartTime", getSnowStartTime())
                .toString();
    }
}
